#ifndef TREE_H
#define TREE_H
#include <errors.h>
#include <QString>
#include <QStringList>
#include <QDomDocument>
#include <QFile>
#include <QMap>
#include <tmenuitem.h>

class Tree {
public:
    Tree();
    ~Tree();
    QMap<QString, TMenuItem*>& getList();
    bool loadFile(const QString&);
    bool setTops(const QStringList&);
    bool addItem(TMenuItem*);
    bool editItem(TMenuItem*);
    bool delItem(TMenuItem*);
private:
    QString fileName;
    QStringList tops;
    QMap<QString, TMenuItem*> list;
    quint16 maxId;
private:
    QDomNode readTree(QDomNode&, int);
    bool readList(QDomNode&);
};

#endif // TREE_H
